home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Publication 4
/
Publication_04_19xx_High-Tech_de_Side_B.d64
/
datamaker v 2.0
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
2KB
|
88 lines
1 rem: datamaker v2.0 13.1.84
2 rem: [c] hans-juergen kutz jan/84
3 poke53280,12:poke53281,12
4 open1,0
5 printchr$(142)"[147][144] * * * datamaker * * *"
6 print" [c] jan/1984 by"
7 print" hans-juergen kutz"
8 print
9 print" 5100 aachen"
10 gosub49
11 print"[147]datamaker wandelt ein maschinensprache- programm in ein basic-";
12 print"ladeprogramm um."
13 print"die von datamaker erfragte zeilennummer sollte bei groesseren oder ";
14 print"mehreren zu uebersetzenden programmen mit max.59000 angegeben werden."
15 fori=1to500:next:gosub49
16 print"[147][144]mit welcher zeilennummer sollen die datazeilen beginnen ?"
17 lm=6:gosub50:z=e:ifz>63996orz<88then16
18 gosub61:z=z-1
19 print"in welchem bereich liegt das maschinen- programm ?"
20 print"bitte dezimale angaben."
21 zl=10:gosub67
22 ze=10:sp=0:gosub68
23 print"startadresse : ";
24 sp=15:gosub68
25 lm=6:gosub50:sa=e
26 ifsa>65535then21
27 zl=12:gosub67
28 ze=12:sp=0:gosub68
29 print"endadresse : ";
30 sp=15:gosub68
31 lm=6:gosub50:se=e
32 ifse<saorse>65535then27
33 t=int((se-sa)/16)+2
34 ifz+t>63999thenprint"bitte kleinere zeilennummer waehlen.":goto13
35 gosub63:printchr$(147):s=sa:gosub71:a$=s$:s=se:gosub71:e$=s$:gosub73
36 print""z"fori="a$"to"e$":readq:pokei,q:next":print"goto37":goto85
37 gosub62:gosub65
38 n=sa+15:ifn>sethenn=se
39 gosub72
40 print""z"data"peek(sa)"[157]";:i=sa:gosub74:ifsa=nthenprint:print"goto45":goto42
41 fori=sa+1ton:gosub74:s=peek(i):gosub71:print","s$;:next:print:print"goto43"
42 sa=i:gosub61:gosub63:goto85
43 gosub62:gosub65
44 ifsa<=sethen38
45 print"[147][144]noch weitere umwandlungen ?"
46 gete$:ife$<>"j"thenife$<>"n"then46
47 ife$="j"thengosub62:goto18
48 goto76
49 poke198,0:wait203,63:return
50 e=lm:ee$=""
51 poke204,0:poke198,0
52 wait198,255:wait207,1,1
53 gete$
54 ifasc(e$)=20theniflen(ee$)>0thenee$=left$(ee$,len(ee$)-1):e=e+1:printe$;:goto52
55 ifasc(e$)=13then59
56 ife$<"0"ore$>"9"then52
57 printe$;
58 ee$=ee$+e$:e=e-1:ife>0then52
59 e=val(ee$):print
60 wait207,1,1:poke204,1:return
61 poke251,z/256:poke252,z-256*peek(251)
62 z=256*peek(251)+peek(252)+1:return
63 poke253,sa/256:poke254,sa-256*peek(253)
64 poke629,se/256:poke630,se-256*peek(629)
65 sa=256*peek(253)+peek(254)
66 se=256*peek(629)+peek(630):return
67 poke781,zl:sys59903:return
68 ifze>24thenze=ze-25:goto68
69 ifsp>39thensp=sp-40:goto69
70 poke214,ze:poke211,sp:sys58732:return
71 s$=right$(str$(s),len(str$(s))-1):return
72 forzl=0to2:poke781,zl:sys59903:next
73 ze=24:sp=20:gosub68:print"[144]bitte warten.";:poke646,peek(53281):return
74 zr=peek(214):sr=peek(211):ze=10:sp=15:gosub68:print"[144]"i:ze=zr:sp=sr:gosub68
75 poke646,peek(53281):return
76 poke2,0:gosub72
77 n=peek(2)+1
78 poke2,n:w=77
79 ifn=wthenw=w+5
80 print""n:print"goto"w
81 goto84
82 n=peek(2):print"[147]"n+1:printn+2:printn+3:printn+4:printn+5
83 printn+6:printn+7:printn+8:print"goto86"
84 poke631,19:forn=632to640:poken,13:next:poke198,10:end
85 poke631,19:poke632,13:poke633,13:poke198,3:end
86 print"[147]86":print"87":print"[144]list":poke631,19:poke632,13
87 poke633,13:poke634,13:poke198,4:end